﻿using System;
using System.Collections.Generic;
using System.Runtime.Serialization;

namespace NsbMonitorClientService.DataContract
{
    [DataContract]
    public class ServiceDetails : ServiceShortInfo
    {
        [DataMember]
        public IList<string> ActsAs { get; set; }

        [DataMember]
        public IList<MessageTypeNameId> Publishes { get; set; }

        [DataMember]
        public IList<MessageTypeNameId> Handles { get; set; }

        [DataMember]
        public IList<SubscribedByShortInfo> SubscribedBy { get; set; }

        [DataMember]
        public IList<SubscribedToShortInfo> SubscribedTo { get; set; }

        [DataMember]
        public IList<MessageAssemblyNameId> UsesMessageAssemblies { get; set; }

        [DataMember]
        public DateTime FirstSeen { get; set; }

        [DataMember]
        public DateTime LastAlive { get; set; }

        [DataMember]
        public String InputQueue { get; set; }
        
        [DataMember]
        public String ErrorQueue { get; set; }
        
        [DataMember]
        public String AuditQueue { get; set; }
    }
}